L’objectif de cette étude est d’explorer les liens entre indices biologiques et paramètres physico-chimiques afin d’étudier les réponses biologiques aux pressions incombées par ces derniers. On vise à étudier des patterns généraux entre les indices, les groupes taxonomiques et les paramètres physico-chimiques.

Les données sont chargés à partir d’HUB’EAU, un service Eau France. Le package “hubeau” interroge les APIs du système d’informations.

Après l’étape de prétraitement, les jeux de données sont composés de :

Il n’y a qu’une prélèvement par année pour les indices biologiques mais, les prélèvements physico-chimiques peuvent être réalisé plusieurs fois par mois.

Après avoir visualisé les différents code_fraction pour chaque paramètre à l’aide de la fonction geom_tile du package ggplot2, les code_fraction majoritaires ont été retenu. Pour chacun des paramètres, deux résultats étaient obtenus, correspondant à deux fractions distinctes (eau filtrée-centrifugée et eau brute).

library(hubeau)
library(tidyverse)
library(sf)
library(DT)
library(cowplot)
library(DT)
library(httr)#utiliser POST pour calcul i2m2 à partir du SEEE
library(trend)
library(ggrepel)
library(mapview)
library(lubridate)
library(httr)
library(ggplot2)
library(dplyr)

functions <- list.files(path = "R",
                        pattern = ".R$",
                        full.names = TRUE)

map(.x = functions,
    .f = source)
## list()

Dans un premier temps, la distributions des variables a été étudiée. Cela a permis de repérer les outliers, les erreurs de saisie et de les retirer des jeux de données.

D’après l’étude des distributions, les variables “macro-invertébrés” ne sont pas normales, elles ont plutôt une distribution asymétriques. Les indices IBD et IPS ont une distribution normale. Les indices biologiques sont relativement stables au cours du temps. Certaines paramètres physico-chimiques ont une distribution graphique asymétriques à légèrement normales.

La disponibilité des données au cours des annnées devaient être connues. Celle-ci est observée grâce à la fonction geom_tile du package ggplot2.

Ici, les stations de prélèvement biologiques sont retenues si le nombre d’années de prélèvement est supérieur à 5.

## [1] 112

Le pré-traitement est suivi par l’analyse univarié des variables biologiques et physico-chimiques. Cela met en évidence le peu d’évolution des indices et des paramètres au cours du temps.

## $x
## [1] "Année"
## 
## $y
## [1] "Variance"
## 
## $title
## [1] "Variance des indices au fil des années"
## 
## attr(,"class")
## [1] "labels"

## $x
## [1] "Année"
## 
## $y
## [1] "Variance"
## 
## $title
## [1] "Variance des paramètres physico-chimiques au fil des années"
## 
## attr(,"class")
## [1] "labels"

A l’aide d’un test de Mann Kendall, la tendance des indices et des métriques au niveau de chaque station est calculée. La p-value est fixée à 0,05.

Un grand nombre de stations n’ont aucune tendance vis à vis des indices I2M2 et IBD. Lorsqu’une tendance est constatée, decroissante ou croissante, celle-ci est significative dans la majorité des cas selon le test de Mann Kendall. Aucune croissance de la richesse taxonomique est observée.

Le nombre de stations ayant une évolution significative pour l’IBD est plus grand que celle de l’I2M2, mais ceci n’est pas vraiment comparable car l’IBD est calculé au niveau de 233 stations (approximativement le double du nombre de stations I2M2).

Globalement, la Bretagne ne connait pas d’évolution majeure des indices I2M2 et IBD.

On s’est intéressé aux classes d’état des indices I2M2 et IBD par station au cours du temps. On y observe un gradient ouest-est, mais peu d’évolution au cours du temps (en prenant en compte la possibilité des “eaux basculantes” en fonction des seuils de classes).

(introduire les notions de taille de BV ? Amont/aval??)

Les prélèvements physico-chimiques sont réalisés tout au long de l’année, parfois plus d’une fois par mois. Afin de réaliser des analyses bi-variées puis multivariées, il était nécessaire de retenir une période temporelle judicieuse pour les paramètres physico-chimiques. Les critères sur lesquels se base cette sélection sont :

On suit les étapes suivantes :

On néglige la richesse taxonomique et l’indice de Shannon dans le choix des périodes temporelles.

On retient alors : mars à décembre pour le taux de saturation en oxygène et l’oxygène dissous ; de janvier à mars pour la concentration en nitrates (période de lessivage due aux précipitations hivernales) et annuelle pour le reste des paramètres. A partir de ce choix, on calcule les moyennes annuelles puis les moyennes sont calculées à l’echelle “station”, cela nous permet de supprimer l’aspect temporel de l’étude.

L’hypothèse de choisir une année au hasard est également possible, en sachant qu’il y a une stabilité des variables au cours du temps.

Après avoir fait le df, on obtient donc 232 lignes (correspondant au nombre de stations retenu pour la physico-chimie), et 14 colonnes correspondantes aux différents paramètres.

Les matrices de corrélation sont réalisées à partir de ce jeu de données. Le test utilisé est Spearman, car les valeurs n’ont pas une distribution normale (pour la plupart).

Détaillons les resultats :

Matrices de corrélations

A partir du graphique ggpairs, on observe des nuages de points sans structure et très dispersés dans certain cas. Cela peut suggérer une indépendance des variables (utile pour la modélisation).

Cela traduit également les résultats obtenues par la martice de corrélation.

La température ne sera pas étudiée dans le cadre de notre étude, due à la dépendance très forte au caractère aléatoire de la mesure (matin? après-midi?).

Concernant les indices biologiques, selon les résultats l’I2M2 et l’IBD ne sont pas entièrement indépendantes, ils sont modéréments corrélées.

L’analyse des composantes principales est une méthode statistique appartenant à la famille des analyses multivariées, c’est-à-dire permettant de synthétiser les relations entre plusieurs variables différentes. Deux ACP ont été réalisé, une sur les variables d’indices biologiques et une sur les paramètres physico-chimiques (sur le jeu de données de 232 lignes, approche “station”). On a analysé les résultats pour certaines années, on obtient des résultats très simlaires, à l’exception de 2022 et 2023 (années de sécheresse). Cela pourrait être expliqué par la séchersse de ces années là.

## **Results for the Principal Component Analysis (PCA)**
## The analysis was performed on 112 individuals, described by 8 variables
## *The results are available in the following objects:
## 
##    name               description                          
## 1  "$eig"             "eigenvalues"                        
## 2  "$var"             "results for the variables"          
## 3  "$var$coord"       "coord. for the variables"           
## 4  "$var$cor"         "correlations variables - dimensions"
## 5  "$var$cos2"        "cos2 for the variables"             
## 6  "$var$contrib"     "contributions of the variables"     
## 7  "$ind"             "results for the individuals"        
## 8  "$ind$coord"       "coord. for the individuals"         
## 9  "$ind$cos2"        "cos2 for the individuals"           
## 10 "$ind$contrib"     "contributions of the individuals"   
## 11 "$call"            "summary statistics"                 
## 12 "$call$centre"     "mean of the variables"              
## 13 "$call$ecart.type" "standard error of the variables"    
## 14 "$call$row.w"      "weights for the individuals"        
## 15 "$call$col.w"      "weights for the variables"
##          eigenvalue percentage of variance cumulative percentage of variance
## comp 1 5.678827e+00           7.098533e+01                          70.98533
## comp 2 1.229016e+00           1.536270e+01                          86.34803
## comp 3 5.264650e-01           6.580812e+00                          92.92884
## comp 4 3.356356e-01           4.195445e+00                          97.12429
## comp 5 1.329082e-01           1.661353e+00                          98.78564
## comp 6 6.820708e-02           8.525885e-01                          99.63823
## comp 7 2.894161e-02           3.617701e-01                         100.00000
## comp 8 3.043476e-08           3.804345e-07                         100.00000

## **Results for the Principal Component Analysis (PCA)**
## The analysis was performed on 232 individuals, described by 14 variables
## *The results are available in the following objects:
## 
##    name               description                          
## 1  "$eig"             "eigenvalues"                        
## 2  "$var"             "results for the variables"          
## 3  "$var$coord"       "coord. for the variables"           
## 4  "$var$cor"         "correlations variables - dimensions"
## 5  "$var$cos2"        "cos2 for the variables"             
## 6  "$var$contrib"     "contributions of the variables"     
## 7  "$ind"             "results for the individuals"        
## 8  "$ind$coord"       "coord. for the individuals"         
## 9  "$ind$cos2"        "cos2 for the individuals"           
## 10 "$ind$contrib"     "contributions of the individuals"   
## 11 "$call"            "summary statistics"                 
## 12 "$call$centre"     "mean of the variables"              
## 13 "$call$ecart.type" "standard error of the variables"    
## 14 "$call$row.w"      "weights for the individuals"        
## 15 "$call$col.w"      "weights for the variables"
##         eigenvalue percentage of variance cumulative percentage of variance
## comp 1  7.42547267             53.0390905                          53.03909
## comp 2  1.91055191             13.6467994                          66.68589
## comp 3  1.05717855              7.5512753                          74.23717
## comp 4  0.98774186              7.0552990                          81.29246
## comp 5  0.78344672              5.5960480                          86.88851
## comp 6  0.63169939              4.5121385                          91.40065
## comp 7  0.41598289              2.9713063                          94.37196
## comp 8  0.31403009              2.2430721                          96.61503
## comp 9  0.15148971              1.0820694                          97.69710
## comp 10 0.10525355              0.7518111                          98.44891
## comp 11 0.08939496              0.6385355                          99.08745
## comp 12 0.07421555              0.5301111                          99.61756
## comp 13 0.03566950              0.2547822                          99.87234
## comp 14 0.01787264              0.1276617                         100.00000

L’ACP sur les paramètres physico-chimiques met en évidence un axe F1 traduisant le gradient de pression et l’axe F2 le gradient d’oxygénation, résumant une bonne qualité des cours d’eau.

Les variables les mieux représentées sont les paramètres liés à l’oxygénation du milieu, les nutriments phosphorés et azotés. Les seules variables redondantes sont NO3 et T°.

Suite à l’ACP sur le jeux de données des paramètres physico-chimiques, les projections des stations sur les 5 dimensions de l’ACP sont récupérées. On peut ainsi cartographier le gradient ouest-est de dégradation de la qualité des masses d’eau en bretagne.

## list()

Le gradient de la concentration en nitrites et nitrates selon la classfication de Verneaux peut nous aider à comprendre davantage les résultats précédents.

Le gradient d’oxygénation des cours d’eau selon la classification de Verneaux.

La modélisation entre les indices biologiques (variable dépendante) et les paramètres physico-chimiques (paramètres explicatifs) est utilisé en tant que modèle exploratoire qui vise à identifier les paramètres qui ont un effet significatif sur les indices.

Le modèle utilisé est le modèle GLM (modèle linéaire généralisé). Ici, la variance étant constante selon le test de White, la loi utilisée est la loi normale (avec comme lien “identity”). Les résidus ont une distribution normale selon le test de Shapiro, toutes les hypothèses sont donc vérifiées.

Selon ce modèle, les paramètres physico-chimiques ayant un effet significatif sur la note I2M2 sont : l’oxygène dissous et l’ammonium.

## 
## Call:
## glm(formula = I2M2 ~ O2dissous + NH4 + NO3 + Ptot, family = gaussian(link = "identity"), 
##     data = df_global_sans_stations)
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  0.258387   0.188239   1.373 0.172730    
## O2dissous    0.064360   0.017038   3.777 0.000261 ***
## NH4         -3.438474   0.714589  -4.812 4.93e-06 ***
## NO3         -0.001902   0.001258  -1.513 0.133334    
## Ptot        -0.741572   0.402963  -1.840 0.068496 .  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## (Dispersion parameter for gaussian family taken to be 0.009782574)
## 
##     Null deviance: 4.4409  on 111  degrees of freedom
## Residual deviance: 1.0467  on 107  degrees of freedom
## AIC: -193.51
## 
## Number of Fisher Scoring iterations: 2
## Start:  AIC=-193.51
## I2M2 ~ O2dissous + NH4 + NO3 + Ptot
## 
##             Df Deviance     AIC
## <none>           1.0467 -193.51
## - NO3        1   1.0691 -193.14
## - Ptot       1   1.0799 -192.02
## - O2dissous  1   1.1863 -181.49
## - NH4        1   1.2732 -173.57
## 
##  studentized Breusch-Pagan test
## 
## data:  model_normal_non_transformées
## BP = 3.6244, df = 2, p-value = 0.1633

## O2dissous       NH4       NO3      Ptot 
##  1.934106  4.904103  1.134190  4.072216

## 
##  Shapiro-Wilk normality test
## 
## data:  residuals(model_normal_non_transformées)
## W = 0.99093, p-value = 0.6674